package com.xinke.module.system.model.entity.logger;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.xinke.component.mybatis.mybatis.core.dataobject.BaseDO;

/**
 * 操作日志记录 V2 版本 DO
 *
 * @author yzx
 */
@TableName("system_operate_log")
@KeySequence("system_operate_log_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OperateLogDO extends BaseDO {

    /**
     * 日志主键
     */
    @TableId
    private Long logId;
    /**
     * 链路追踪编号
     */
    private String traceId;
    /**
     * 用户编号
     */
    private Long userId;
    /**
     * 用户类型
     */
    private Integer userType;
    /**
     * 操作模块类型
     */
    private String operateType;
    /**
     * 操作名
     */
    private String operateName;
    /**
     * 操作数据模块编号
     */
    private Long bizId;
    /**
     * 操作内容
     */
    private String operateContent;
    /**
     * 操作结果
     */
    private Integer operateSuccess;
    /**
     * 拓展字段
     */
    private String operateExtra;
    /**
     * 请求方法名
     */
    private String requestMethod;
    /**
     * 请求地址
     */
    private String requestUrl;
    /**
     * 用户 IP
     */
    private String userIp;
    /**
     * 浏览器 UA
     */
    private String userAgent;

}